package edu.uoc.tdp.pac4.beans;

import java.util.Date;

/**
 * Representa un usuario del sistema.
 * 
 * @author eSupport Netbeans
 */
public class Usuario extends IdentifiableObject implements java.io.Serializable
{
   private String login;
   private String pwd;
   private Date fechaAlta;
   private String email;
   private String telf;
   private String nombre;
   private String apellidos;
   private boolean activo;
   private Date fechaInactividad;
   private String nif;
   private int idRol;
   private String descRol;
   private int id;
   
   //===========================================
   // Constructors
   //===========================================
   
   /**
    * Constructor de la clase.
    */
   public Usuario()
   {
      this.login = "";
      this.pwd = "";
      this.fechaAlta = null;
      this.email = "";
      this.telf = "";
      this.nombre = "";
      this.apellidos = "";
      this.activo = false;
      this.fechaInactividad = null;
      this.nif = "";
      this.idRol = 0;
   }

   //===========================================
   // Properties
   //===========================================
   
   public String getLogin() 
   {
      return login;
   }

   public void setLogin(String login) 
   {
      this.login = login;
   }

   public String getPwd() 
   {
      return pwd;
   }

   public void setPwd(String pwd) 
   {
      this.pwd = pwd;
   }

   public Date getFechaAlta()
   {
      return fechaAlta;
   }

   public void setFechaAlta(Date fechaAlta) 
   {
      this.fechaAlta = fechaAlta;
   }

   public String getEmail() 
   {
      return email;
   }

   public void setEmail(String email) 
   {
      this.email = email;
   }

   public String getTelf() 
   {
      return telf;
   }

   public void setTelf(String telf) 
   {
      this.telf = telf;
   }

   public String getNombre() 
   {
      return nombre;
   }

   public void setNombre(String nombre) 
   {
      this.nombre = nombre;
   }

   public String getApellidos() 
   {
      return apellidos.replace("_", " ");
   }
   
   public String getPrimerApellido(){
        return apellidos.split("_")[0].toString();
   }
   
   public String getSegundoApellido(){
        return apellidos.split("_")[1].toString();
   }

   public void setApellidos(String apellido1, String apellido2) 
   {
      StringBuilder strbff = new StringBuilder();
      strbff.append(apellido1);
      strbff.append("_");
      strbff.append(apellido2);
      this.apellidos = strbff.toString();
   }
   public void setApellidos(String apellidos){
       this.apellidos = apellidos;
   }

   public boolean isActivo() 
   {
      return activo;
   }
   
   public int isActivoBit() {
       if (this.isActivo()) {
           return 1;
       }
       else {
           return 0;
       }
   }

   public void setActivo(boolean activo) 
   {
      this.activo = activo;
   }

   public Date getFechaInactividad() 
   {
      return fechaInactividad;
   }

   public void setFechaInactividad(Date fechaInactividad) 
   {
      this.fechaInactividad = fechaInactividad;
   }

   public String getNif() 
   {
      return nif;
   }

   public void setNif(String nif) 
   {
      this.nif = nif;
   }

   public int getIdRol() 
   {
      return idRol;
   }

   public void setIdRol(int idRol) 
   {
      this.idRol = idRol;
   }
   
   public String getDescRol() 
   {
      return descRol;
   }

   public void setDescRol(String descRol) 
   {
      this.descRol = descRol;
   }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
}
